home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / util / batch / WaitSignal.lha / WaitSignal / source / WaitSignal.c < prev   
Encoding:
C/C++ Source or Header  |  1998-09-20  |  1.5 KB  |  67 lines

  1. /*
  2. **
  3. ** WaitSignal 1.0
  4. **
  5. ** (c) 1998 Stephan Fuhrmann
  6. **
  7. */
  8.  
  9. #include <proto/dos.h>
  10. #include <proto/exec.h>
  11.  
  12. #include <exec/types.h>
  13. #include <dos/dos.h>
  14.  
  15. #define APPNAME "WaitSignal"
  16.  
  17. char vv[]="$VER: WaitSignal 1.0 " __AMIGADATE__;
  18.  
  19. char template[]="ALL/S,C/S,D/S,E/S,F/S";
  20.  
  21. enum templates { RA_ALL=0,RA_C,RA_D,RA_E,RA_F,RA_NUM};
  22.  
  23. LONG tempres [RA_NUM];
  24.  
  25. struct RDArgs *RDA;
  26.  
  27. struct DosLibrary *DOSBase;
  28.  
  29. __saveds int main(void)
  30. {
  31.         if (DOSBase=(struct DosLibrary *)OpenLibrary ("dos.library",37))
  32.         {
  33.                 if (RDA=ReadArgs (template,tempres,0L))
  34.                 {
  35.                         long mask=0L;
  36.  
  37.                         if (RA_ALL)
  38.                             mask|=SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_D |
  39.                                 SIGBREAKF_CTRL_E | SIGBREAKF_CTRL_F;
  40.  
  41.                         if (RA_C)
  42.                             mask|=SIGBREAKF_CTRL_C;
  43.  
  44.                         if (RA_D)
  45.                             mask|=SIGBREAKF_CTRL_D;
  46.  
  47.                         if (RA_E)
  48.                             mask|=SIGBREAKF_CTRL_E;
  49.  
  50.                         if (RA_F)
  51.                             mask|=SIGBREAKF_CTRL_F;
  52.  
  53.                         if (!mask)
  54.                             mask|=SIGBREAKF_CTRL_C;
  55.  
  56.                         Wait (mask);
  57.  
  58.                         FreeArgs (RDA);
  59.                 }
  60.                 else
  61.                         PrintFault (IoErr(),APPNAME);   
  62.  
  63.                 CloseLibrary ((struct Library *)DOSBase);
  64.         }
  65. }
  66.  
  67.